Design apparatus, design method, and recording medium

ABSTRACT

In CDN, a design apparatus for designing a probability that a delivery server or a delivery route is selected for content delivery in response to a delivery request from a user includes a parameter input unit configured to receive, as input parameter values, a parameter related to the network and an estimated amount of demand for delivery requests, a selection probability design unit configured to design, based on the received input parameter values, a selection probability that a cache server is selected as the delivery server or a selection probability that a delivery route is selected, using model predictive control, so as to reduce an excessive delivery request, which is a rejection of a delivery request, wherein the delivery route is a combination of the delivery server and a delivery path on which the content is delivered by the delivery server, and a selection probability output unit configured to output the selection probability of the cache server or the selection probability of the delivery route.

TECHNICAL FIELD

The present invention relates to a design apparatus, a design method,and a recording medium. Specifically, the present invention relates to adesign apparatus, a design method, and a recording medium for designinga probability of selecting a delivery server or a delivery route usedfor content delivery in response to a delivery request from a user in aCDN (Content Delivery Network), in which content is delivered usingcache servers which are distributed among a plurality of nodes in the NW(network).

BACKGROUND ART

Over the Internet, a state of each flow is not managed in the networkand routing is performed based on a reception address. In a single AS(Autonomous System) managed by each ISP (Internet Service Provider), apacket is transferred on a path in which a total sum of fixed linkweights is the smallest according to OSPF (Open Shortest Path First).Since a transfer rate is autonomously determined by a transmission hostwithout flow admission control, link congestion may occur in principle.In order to maintain proper communication quality, one of the key issuesfor an ISP is to design and manage a NW so that loads of all the linksforming the NW are below a proper level. The link load always variesdepending on fluctuations in traffic matrix demand and path changes dueto various failures. Accordingly, many path control methods are underdiscussion for distributing link loads by dynamically configuring pathsthrough which packets flow so that a link with a low usage rate isactively used.

Recently, most of the Internet traffic is occupied by HTTP (HypertextTransfer Protocol) traffic used for Web services. For example, accordingto the traffic analysis measured on backbone links between Japan and theUnited States of America from 2006 to 2008, about 60% of traffic isoccupied by HTTP packets. In addition, the amount of traffic by UGC(User-Generated Content) such as YouTube (registered trademark) and richcontent such as VoD (Video on Demand) grow rapidly. Most of the Internettraffic is occupied by these types of content delivery. Content istypically delivered using a CDN operated by a CDN operator. For example,74% of the top 1,000 sites in the number of access counts use a CDN. ACDN aims to improve user quality and reduce the amount of traffic in theNW by copying content in a plurality of cache servers distributed overthe NW and delivering the content from the cache servers rather thanfrom the original server. Accordingly, the location of an originatingnode of a delivery flow generated for content delivery is determinedaccording to a content placement scheme and a server selection scheme,and thus user quality and the amount of traffic in the NW are greatlyaffected by these schemes. A CDN is operated by a CDN operator such asAkamai which is independent of an ISP, and content is delivered from acache server in an application layer in an overlaid manner. Thus, it isdifficult for the ISP to obtain information about the server selectionscheme and the content placement scheme. For this reason, path controlby the ISP and server selection (or content placement) by the CDNoperator are independently performed.

Considerable research has been made for controlling a packet transferpath by an ISP. For example, Forts et al. propose a method of designinglink weights for OSPF to minimize a total sum of link costs defined as afunction of the amount of traffic which flows through links. Benson etal. propose a method of controlling paths with shorter periodicity basedon a short-term prediction of a traffic matrix. Danna et al. formulate,as a linear programming problem, a problem associated with appropriatepath control in consideration of a trade-off between fairness of abandwidth allocated to a user and a usage efficiency of networkresources. Kandula et al. propose a method of adaptively determining apath based on a throughput measurement value. In addition, severalschemes for controlling a path with a finer degree than a destinationaddress have been proposed. For example, Elwalid et al. focus on MPLS(Multi-Protocol Label Switching) and formulate, as a linear programmingproblem, a problem of optimally designing LSPs (Label Switched Paths) tominimize the total link cost. Hong et al. and Jain et al. propose a TE(Traffic Engineering) scheme for switching paths in a short period oftime with a finer degree. While these schemes assume that an ISPperforms path control, a scheme for optimally selecting a path by an enduser according to online optimization based on actual measurementinformation has been also considered. Research for analyzing variouspath control schemes from the viewpoint of quality of user experiencehas been also made.

Various research has been also made for a server selection scheme inwhich a CDN operator selects a server from which content is delivered inresponse to a delivery request. For example, Poese et al. propose that aCDN operator can appropriately select a server when an ISP providesinformation about the network state to the CDN operator. In addition toselection of the server, research for optimizing a location of a sourceserver by controlling where content is cached have been also made. Forexample, Applegate et al. formulate, as a mixed integer programmingproblem, a problem of determining placement of each content item tominimize the amount of total traffic which flows in the network underconstraints of a cache capacity and a link bandwidth. Tang et al.propose a content placement design method for minimizing a replicationcost for content placement under constraints of user quality.

For these techniques, refer to Non-Patent Documents 1 and 2.

However, path control by an ISP has an influence on effects of serverselection by a CDN operator and server selection by the CDN operatoralso has an influence on effects of path control by the ISP. Inconsidering the respective control schemes by the ISP and the CDNoperator, it is necessary to consider the influences on effects ofcontrol by the other party. For example, DiPalantino et al. model bothstrategies using a game theory and analyze a balance to be realized.Research for cooperatively selecting a server by an ISP and a CDNoperator has been also made. For example, Poese et al. mention that anaddress of a delivery server replied by a DNS (Domain Name System) uponcontent delivery varies, and a response time will be improved when anISP selects a server. Frank et al. propose a method of exchanginginformation necessary to cooperatively select a server between a CDNoperator and an ISP.

Jiang et al. analyze, provided that path control by an ISP and serverselection by a CDN operator are independently performed, to what extentan optimum state can be approached by exchanging information with eachother.

PRIOR-ART DOCUMENTS Non-Patent Documents

-   [Non-Patent Document 1] I. Poese, B. Frank, B. Ager, G. Smaragdakis,    and A. Feldmann, Improving Content Delivery Using Provider-aided    Distance Information, ACM IMC 2010.-   [Non-Patent Document 2] I. Poese, B. Frank, G. Smaragdakis, S.    Uhlig, A. Feldmann, and B. Maggs, Enabling Content-aware Traffic    Engineering, ACM SIGCOMM Computer Communication Review, Vol. 42, NO.    5, pp. 22-28, 2012.

DISCLOSURE OF INVENTION Problem(s) to be Solved by the Invention

As described above, various research has been made for independentlyperforming appropriate path control by an ISP and appropriate serverselection (or content placement) by a CDN operator. However, pathcontrol by an ISP has an influence on effects of server selection by aCDN operator and server selection by the CDN operator also has aninfluence on effects of path control by the ISP. Thus, it is necessaryto consider the influences which the respective control schemes by theISP and the CDN operator have on effects of control by the other party.

Recently, there is a growing trend that a large content provider such asGoogle and a Tier-1 ISP such as AT&T operate a CDN on their own. Inaddition, a scheme for appropriately performing path control and serverselection with cooperation between an ISP and a CDN operator whileexchanging information with each other has been also proposed. In thismanner, an environment is maturing for simultaneously optimizingdelivery paths and server selection in content delivery.

In the documents by Poese et al. and Frank et al., which describe thatan ISP and a CDN operator cooperatively select a server, it is proposedthat the ISP selects a server. However, these documents do not considerthat the ISP simultaneously performs path control.

Since the amount of demand and popularity for each content item incontent delivery will significantly change over time, for purpose ofoptimizing delivery paths and server selection, it is necessary torealize adaptive control for dynamically-changing demand. Accordingly,it is preferable that future demand can be accurately estimated.Although a scheme for predicting future movements in content popularityhas been proposed, it is difficult to accurately predict futuremovements. Thus, it will be effective that various types of control canbe performed in conjunction with traffic prediction in consideration ofa prediction error.

In the document by Jiang et al., total optimization at a single point intime is proposed. However, it is difficult to apply it to a real networkin which a traffic matrix continues to change for a long time into thefuture. In order to realize a proper optimization level at a pluralityof points in time in which prediction of future traffic demand isdifficult, it is preferable to realize a scheme for repeatedlyperforming an optimization process on a time series.

It is an object of the present invention to reduce a frequency withwhich a delivery request from a user is rejected when delivery demandfrom users changes over time in a CDN and to improve a CDN service.

Means for Solving the Problem(s)

In one aspect of the present invention, there is provision for a designapparatus for designing a probability that a delivery server or adelivery route is selected for content delivery in response to adelivery request from a user, when content is delivered using cacheservers distributed among a plurality of nodes in a network, including:

a parameter input unit configured to receive, as input parameter values,a parameter related to the network and an estimated amount of demand fordelivery requests generated by users for content;

a selection probability design unit configured to design, based on theinput parameter values received by the parameter input unit, a selectionprobability that a cache server is selected as the delivery server or aselection probability that a delivery route is selected, using modelpredictive control, so as to reduce an excessive delivery request thatis a delivery request generated by a user for a content item and thenrejected, wherein the delivery route is a combination of the deliveryserver and a delivery path on which the content is delivered by thedelivery server; and

a selection probability output unit configured to output the selectionprobability of the cache server or the selection probability of thedelivery route, designed by the selection probability design unit.

In another aspect of the present invention, there is provision for adesign method in a design apparatus for designing a probability that adelivery server or a delivery route is selected for content delivery inresponse to a delivery request from a user, when content is deliveredusing cache servers distributed among a plurality of nodes in a network,including the steps of:

receiving, as input parameter values, a parameter related to the networkand an estimated amount of demand for delivery requests generated byusers for content;

designing, based on the received input parameter values, a selectionprobability that a cache server is selected as the delivery server or aselection probability that a delivery route is selected, using modelpredictive control, so as to reduce an excessive delivery request thatis a delivery request generated by a user for a content item and thenrejected, wherein the delivery route is a combination of the deliveryserver and a delivery path on which the content is delivered by thedelivery server; and

outputting the designed selection probability of the cache server or thedesigned selection probability of the delivery route.

In another aspect of the present invention, there is provision for arecording medium for recording a program which, for designing aprobability that a delivery server or a delivery route is selected forcontent delivery in response to a delivery request from a user, whencontent is delivered using cache servers distributed among a pluralityof nodes in a network, causes a computer to function as:

a parameter input unit configured to receive, as input parameter values,a parameter related to the network and an estimated amount of demand fordelivery requests generated by users for content;

a selection probability design unit configured to design, based on theinput parameter values received by the parameter input unit, selectionprobability that a cache server is selected as the delivery server or aselection probability that a delivery route is selected, using modelpredictive control, so as to reduce an excessive delivery request thatis a delivery request generated by a user for a content item and thenrejected, wherein the delivery route is a combination of the deliveryserver and a delivery path on which the content is delivered by thedelivery server; and

a selection probability output unit configured to output the selectionprobability of the cache server or the selection probability of thedelivery route, designed by the selection probability design unit.

Advantageous Effect of the Invention

According to the present invention, it is possible to reduce a frequencywith which a delivery request from a user is rejected when deliverydemand from users changes over time in a CDN and to improve a CDNservice.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a functional block diagram of a design apparatusaccording to an embodiment of the present invention.

FIG. 2 illustrates an example of a hardware configuration of a designapparatus according to an embodiment of the present invention.

FIG. 3 illustrates a functional block diagram of a delivery serverselection probability optimization design apparatus according to anembodiment of the present invention.

FIG. 4 illustrates a functional block diagram of a delivery routeselection probability optimization design apparatus according to anembodiment of the present invention.

FIG. 5 illustrates a conceptual diagram of a CDN operation mechanism.

FIG. 6 illustrates a conceptual diagram of an optimization flow of modelpredictive control.

FIG. 7 illustrates an example of a group of delivery routes input to adelivery route selection probability optimization design apparatusaccording to an embodiment of the present invention.

FIG. 8A illustrates a CAIS network topology used for performanceevaluation of a design apparatus according to an embodiment of thepresent invention.

FIG. 8B illustrates a Verio network topology used for performanceevaluation of a design apparatus according to an embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the present invention are described below with referenceto the drawings.

In an embodiment of the present invention, there is described a solutionto design a probability that a delivery server is selected or aprobability that a delivery route, which is a combination of thedelivery server and a delivery path, is selected for content delivery inresponse to a delivery request from a user, so as to reduce excessivedelivery requests, which are rejections of delivery requests, in a CDNwhere content is delivered using cache servers distributed among aplurality of nodes in the network.

<Apparatus Configuration>

FIG. 1 illustrates a functional block diagram of a design apparatus 100according to an embodiment of the present invention. The designapparatus 100 is an apparatus for designing a probability that adelivery server is selected for content delivery in response to adelivery request from a user so as to reduce an excessive deliveryrequest, which is a rejection of a delivery request, in a CDN wherecontent is delivered using cache servers distributed among a pluralityof nodes in the network. The design apparatus 100 is also an apparatusfor designing a probability that a delivery route, which is acombination of the delivery server and a delivery path, is selected soas to reduce an excessive delivery request, which is a rejection of adelivery request.

FIG. 2 illustrates an example of a hardware configuration of the designapparatus 100 according to an embodiment of the present invention. Thedesign apparatus 100 may be a computer including a processor 151 such asa CPU (Central Processing Unit), a memory device 152 such as a RAM(Random Access Memory) or a ROM (Read Only Memory), a storage device 153such as a hard disk, and so on. For example, functions and operations ofthe design apparatus 100 are realized when the CPU processes data andexecutes a program stored in the storage device 153 or the memory device152.

The design apparatus 100 includes a parameter input unit 101, aselection probability design unit 102, and a selection probabilityoutput unit 103.

The parameter input unit 101 receives input parameter values needed todesign a selection probability of a delivery server or a delivery routeusing MPC (Model Predictive Control). Specifically, the parameter inputunit 101 receives a parameter related to the network and an estimatedamount of demand for delivery requests generated by users for content.

The selection probability design unit 102 designs, based on the inputparameter values received by the parameter input unit 101, a selectionprobability that a cache server is selected as a delivery server usingmodel predictive control so as to reduce an excessive delivery requestthat is a delivery request generated by a user for a content item andthen rejected. The selection probability design unit 102 may design notonly the selection probability of the cache server but also a deliveryroute through which the delivery server delivers content to a user. Inthis case, the selection probability design unit 102 designs a selectionprobability of the delivery route, which is a combination of thedelivery server and a delivery path, so as to reduce an excessivedelivery request that is a delivery request generated by a user for acontent item and then rejected.

The selection probability output unit 103 outputs the selectionprobability of the cache server or the selection probability of thedelivery route, designed by the selection probability design unit 102.

The design apparatus 100 illustrated in FIG. 1 may be configured as adelivery server selection probability optimization design apparatus 200as illustrated in FIG. 3 for optimally designing a probability that adelivery server is selected for content delivery in response to adelivery request from a user, so as to minimize a frequency with whichthe delivery request is rejected because of exceeding a capacity of acache server, in other words, because of exceeding a delivery capabilityof the cache server.

FIG. 3 illustrates a functional block diagram of the delivery serverselection probability optimization design apparatus 200 according to anembodiment of the present invention. The delivery server selectionprobability optimization design apparatus 200 includes a parameter inputunit 201, a cache server selection probability optimization design unit202, and a cache server selection probability output unit 203. The cacheserver selection probability optimization design unit 202 may reduce thenumber of excessive delivery requests while reducing an average numberof hops of delivery flows and stabilizing a variation of the selectionprobability. In other words, the cache server selection probabilityoptimization design unit 202 may simultaneously optimize an objectivefunction J_(s) for reducing the number of excessive delivery requests,an objective function J_(h) for reducing the average number of hops ofthe delivery flows, and an objective function J_(v,p) for stabilizingthe variation of the selection probability of the cache server.

The parameter input unit 201 receives, as input parameter, a parameterrelated to content in the network, a parameter related to the cacheservers, and an estimated amount of demand for delivery requestsgenerated by users for content. Specifically, the following parametersare input from the parameter input unit 201:

-   -   the number of content items M,    -   the number of nodes N,    -   a prediction horizon H for MPC,    -   a cache server delivery capacity C_(c,s) of a cache server s,    -   the estimated amount of demand {circumflex over (d)}_(u,m,t) of        the amount of delivery demand d_(u,m,t) generated by a user u        for a content item m in a timeslot t,    -   a group of cache servers S_(m,t) which keep possession of the        content item m in the timeslot t,    -   a group of candidate paths R_(s,u) from the cache server s to        the user u,    -   a hop length h_(s,u,k) from the cache server s to the user u in        a timeslot k (t+1<=k<=t+H),    -   a weight parameter w_(h) for the objective function J_(h)        relative to the objective function J_(s), and    -   a weight parameter w_(v,p) for the objective function J_(v,p)        relative to the objective function J_(s).

The cache server selection probability optimization design unit 202optimally designs the selection probability p_(u,m,k)(s) of the cacheserver s based on the parameter values input from the parameter inputunit 201, and then the cache server selection probability output unit203 outputs the design value of p_(u,m,k)(s).

The design apparatus 100 illustrated in FIG. 1 may be configured as adelivery route selection probability optimization design apparatus 300as illustrated in FIG. 4 for optimally designing a probability that adelivery server is selected for content delivery in response to adelivery request from a user together with a delivery path through whichthe delivery server delivers content to the user, so as to minimize afrequency with which the delivery request is rejected.

FIG. 4 illustrates a functional block diagram of the delivery routeselection probability optimization design apparatus 300 according to anembodiment of the present invention. The delivery route selectionprobability optimization design apparatus 300 includes a parameter inputunit 301, a delivery route selection probability optimization designunit 302, and a delivery route selection probability output unit 303.The delivery route selection probability optimization design unit 302may reduce the number of excessive delivery requests while reducing atotal number of delivery flows passing through links, reducing anaverage number of hops of the delivery flows, and stabilizing avariation of the selection probability. In other words, the deliveryroute selection probability optimization design unit 302 maysimultaneously optimize an objective function J_(s) for reducing thenumber of excessive delivery requests, an objective function J_(e) forreducing the total number of delivery flows passing through the links,an objective function J_(h) for reducing the average number of hops ofthe delivery flows, and an objective function J_(v,{tilde over (p)}) forstabilizing the variation of the selection probability of the deliveryroute.

The parameter input unit 301 receives, as input parameter, a parameterrelated to content in the network, a parameter related to the cacheservers, an estimated amount of demand for delivery requests generatedby users for content, and a parameter related to the links.Specifically, the following parameters are input from the parameterinput unit 301:

-   -   the number of content items M,    -   the number of nodes N,    -   a prediction horizon H for MPC,    -   a cache server delivery capacity C_(c,s) of a cache server s,    -   a link transfer capacity C_(L,e) of a link e,    -   a group of delivery routes Φ_(u,m,t) between a user u and a        content item m in a timeslot t,    -   the estimated amount of demand {circumflex over (d)}_(u,m,t) of        the amount of delivery demand d_(u,m,t) generated by the user u        for the content item m in the timeslot t,    -   a group of cache servers S_(m,t) which keep possession of the        content item m in the timeslot t,    -   a group of candidate paths R_(s,u) from the cache server s to        the user u,    -   a binary variable I_(s,u,t)(r,e) which is equal to one if a        candidate route r from the cache server s to the user u includes        the link e in the timeslot t,    -   a hop length h_(s,u,k) from the cache server s to the user u in        a timeslot k (t+1<=k<=t+H),    -   a weight parameter w_(e) for the objective function J_(e)        relative to the objective function J_(s),    -   a weight parameter w_(h) for the objective function J_(h)        relative to the objective function J_(s), and    -   a weight parameter w_(v,{tilde over (p)}) for the objective        function J_(v,{tilde over (p)}).

The delivery route selection probability optimization design unit 302optimally designs the selection probability {tilde over(p)}_(u,m,k)(s,r) of the delivery route based on the parameter valuesinput from the parameter input unit 301, and then the delivery routeselection probability output unit 303 outputs the design value of {tildeover (p)}_(u,m,k)(s,r).

A solution to select a delivery server and a solution to select adelivery route according to an embodiment of the present invention aredescribed below in detail.

<Assumption>

In a CDN, a cache server (or an original server) for delivering contentis selected in response to a content delivery request from a user, andthen the content is delivered. In an embodiment of the presentinvention, it is assumed that delivery processing used by a typical CDNoperator is performed prior to the delivery. Akamai is an example of thetypical CDN operator.

FIG. 5 illustrates a conceptual diagram of a CDN operation mechanism. Inorder for a user to obtain an IP address of a delivery source serveraccording to a DNS, the user first queries a local DNS server for the IPaddress as illustrated in (1) in FIG. 5. When the requested content iscached in the local DNS server, the content is delivered from the localDNS server to the user terminal. When the content is not cached, thelocal DNS server responds to the user terminal indicating that the userterminal should query a DNS server in the CDN operator. The userterminal queries the DNS server in the CDN operator for an IP address ofa delivery server as illustrated in (2) in FIG. 5. The DNS server in theCDN operator selects a cache server used for delivery and responds tothe user terminal with the IP address of the cache server. A selectioncriterion of the cache server is determined by the CDN operator. Often,a cache server with a short measured response time or a cache serverplaced near the user terminal is selected.

The user terminal requests delivery of the content to the selected cacheserver as illustrated in (3) in FIG. 5. If the content is cached (cachehit), the content is delivered from the cache server. If the content isnot cached (cache miss), the cache server requests to an original serverwhich keeps possession of original content and obtains the content asillustrated (4) in FIG. 5. Then, the cache server caches the obtainedcontent and delivers the content to the user terminal. When a cachecapacity is insufficient, some of existing cached content items aredeleted based on a certain policy, and then the newly obtained contentis cached. LRU (least recently used) which deletes content with amaximum elapsed time since the content was last requested is often usedas a policy to select content to be deleted.

It is assumed that discretization is applied to the whole systemresulting in the unit of timeslot (TS) with a fixed time length T. TheNW is assumed to have any topology formed by N nodes and E links managedby a single ISP. A transmission capacity (total count number ofdeliveries enabled for content transfer within each TS) of a link e isexpressed as C_(L,e). A group of candidate paths used for contentdelivery from a node i to a node j is defined as R_(i,j). When contentis delivered from the node i to the node j, a delivery path isdetermined by selecting any path r according to rεR_(i,j). A useraccommodated by a node u is expressed as a user u. The user u includes auser which is directly accommodated by the node u and a user which isaccommodated by a lower NW provided by the node u. The node u is adestination node of a content delivery flow for the user u.

It is assumed that M content items with the same size are provided inthe whole NW and the amount of delivery demand generated by the user ufor a content item m in a TS t (the number of requests generated in theTS t) is expressed as d_(u,m,t). It is also assumed that an originalserver is installed in every node, each original content item isincluded only in any one of the nodes, the location of the originalcontent item is always fixed, and the original content item m is placedin a node o_(m). An original server and a cache server installed in thenode n is expressed as an original server n and a cache server n,respectively, and the combination of the original server n and the cacheserver n is expressed as a server n. It is also assumed that throughputof each delivery flow is equal.

It is assumed that a cache server is installed in every node in the NW,a storage capacity (a maximum number of content items which can becached) of a cache server s is expressed as B_(s). A delivery processingcapacity of each cache server and each original server is limited and anupper limit of a total count number of deliveries in which the cacheserver s can deliver content in each TS is expressed as C_(C,s). Whenthe cache server s selected in response to a delivery request from theuser u for the content item m keeps possession of the content item m(cache hit), the delivery capacity of the cache server s is sufficient,and all the links included in the selected path r are sufficient, thecontent item m is delivered from the cache server s and thus a deliveryflow is generated from the node s to the user u.

On the other hand, in the case of cache miss or in the case of exceedingthe delivery capacity of the server or the link, when the deliverycapacity of the original server o_(m) of the content item m issufficient, the content item m is delivered from the original servero_(m), and thus a delivery flow is generated from the node o_(m) to thenode s and a delivery flow is also generated from the node s to the useru. Then, the content item m is newly cached in the cache server s. LRUis assumed to be used as a replacement scheme in the case of aninsufficient cache capacity. In addition, when the delivery capacity ofthe server or the link from the original server o_(m) is insufficient,the delivery request is rejected and the request that had been rejectedis generated again, as an excessive delivery request, in a next TS.While content items included in each cache server dynamically vary, agroup of cache servers which keep possession of the content item m atthe start of the TS t is expressed as S_(m,t).

<MPC (Model Predictive Control)>

MPC is similar to conventional system control in that parameters(inputs) of the system are optimized so as to bring actions (outputs) ofthe system close to a predetermined target. However, MPC optimizes theinputs in consideration of actions of the system not only at the currenttime but also in a predetermined time interval (prediction horizon) inthe future. Specifically, when an output value in a TS k is expressed asy_(k) and a target of the output value is expressed as Y_(k), an inputsequence u(t+1), u(t+2), . . . , u(t+H) which minimizes differencesJ₁=Σ_(k=t+1) ^(t+H)∥y_(k)−Y_(l)∥² between y_(k) and the target over atime interval [t+1, t+H] corresponding to H steps in the future isderived in the current TS t, where ∥x∥ represents an Euclidean norm ofx.

For the optimization, it is necessary to predict the output y_(k) whenan input x_(k) is provided in the TS t. The time-stepping relationshipof the output when the input is provided is expressed as a system modeland the following state space model is mainly used in view of a statez_(k) of the system in each TS:

z _(k+1) =f(k,z _(k) ,x _(k))

y _(k) =g(k,z _(k) ,x _(k))

where f and g are functions representing relationships among the input,the output, and the state. However, an error may be included in thesystem model, and thus a predicted value ŷ_(k) of the output based onthe system model may also include an error. Since the prediction errorbecomes larger as later prediction is performed, only the immediateinput x_(t+1) among inputs x_(t+1), . . . , x_(t+H) optimized in theprediction horizon [t+1, t+H] is actually input to the system. Thesubsequent inputs are determined by modifying the predicted value basedon observation feedback and optimizing the inputs again. In addition,since the system may become unstable when the inputs are excessivelymodified with the effect of the prediction error, it is necessary tostabilize the system by stabilizing the amount of modificationΔx_(k)=x_(k)−x_(k−1) of the input in each TS. Specifically, in order tominimize the amount of modification J₂=Σ_(k=t+1) ^(t+H)∥Δx_(k)∥ of theinputs over the whole prediction horizon [t+1, t+H] together with J₁, aparameter w representing a balance between J₁ and J₂ is introduced toderive an input sequence x_(t+1), x_(t+2), . . . , x_(t+H) whichminimizes J₁+wJ₂. The larger the weight parameter w is, the more theamount of modification of the input is stabilized with the current inputbeing maintained.

FIG. 6 illustrates a diagram of an optimization process of MPC. A systemstate z_(t+1) in a TS t+1 is determined by a system state z_(t) and aninput x_(t) in the TS t which is the previous timeslot. An outputy_(t+1) in the TS t+1 is externally provided and determined based on thesystem state z_(t+1) and an input x_(t+1) in the TS t+1. Thus, it ispossible to recursively calculate an output y_(k) in a TS k in the rangeof t+1<=k<=t+H when an input x_(k) in the TS k is provided, and thus theoptimization objective function J₁+wJ₂ is obtained. In addition, anonlinear programming problem which minimizes the objective function isderived for x_(t) within the range of t+1<=k<=t+H and an input valuex_(t+1) in the TS t+1 is input to the system.

<Application of MPC to Optimal Control of Delivery Server Selection>

A specific example where MPC is applied to optimal control of deliveryserver selection in the cache server selection probability optimizationdesign unit 202 is described below.

The system state z_(t) of MPC is the amount of delivery demand d_(u,m,t)generated for content and is externally provided. Since d_(u,m,k) (k>=t)is unknown at the start of the TS t, its estimated value {circumflexover (d)}_(u,m,k) is used instead. Assuming that a delivery cache serverused to deliver a content item m to a user u is deterministicallyselected, a problem of minimizing the optimization function of MPCresults in an integer programming problem, and thus it is difficult toderive an optimal value of the input value x_(t) in a short time. Thus,a delivery cache server is selected probabilistically rather thandeterministically. Specifically, a cache server s is selected from cacheservers S_(m,t) with a probability p_(u,m,t)(s) in response to a requestfor the content item m from the user u in the TS t. Accordingly,p_(u,m,t)(s) is the input x_(t) of MPC and the problem can be formulatedas a nonlinear programming problem which minimizes the objectivefunction in consideration of constraints of Σ_(sε)S_(m,t)p_(u,m,t)(s)=1at the start of each TS. Therefore, a solution of p_(u,m,t)(s) can bequickly obtained.

The objective to optimize delivery server selection in content deliveryis to equalize loads of cache servers, to reduce the count number ofexcessive deliveries which are caused by congestion, and to reduce thehop lengths of the delivery flows. When the count number of excessivedeliveries in the server s in the TS t−1 is expressed as ζ_(s,t−1), atotal number of delivery flows g_(s,t) from the server s in the TS t iscalculated as follows:

$g_{s,t} = {{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{r \in R_{s,u}}{{\hat{d}}_{u,m,t}{p_{u,m,t}(s)}}}}} + {\zeta_{s,{t - 1}}.}}$

Using an operator [x]⁺ which outputs x if x>0 and outputs 0 if x<=0,ζ_(s,t−1) can be calculated as ζ_(s,t−1)=[g_(s,t−1)−C_(C,s)]⁺. Then, anobjective function J_(s) associated with congestion in cache servers isdefined as follows:

$J_{s} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{s = 1}^{N}{\zeta_{s,k}.}}}$

In addition, in order to simultaneously reduce an average hop length ofthe delivery flows, an objective function J_(h) is defined as follows:

${J_{h} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{s \in S_{m,k}}{h_{s,u,k}{\hat{d}}_{u,m,k}{p_{u,m,k}(s)}}}}}}},$

where h_(s,u,k) is a hop length of a delivery path from the server s tothe node u in a TS k and the smallest number of hops is used herein.Furthermore, in order to stabilize the variation of p_(u,m,t)(s), anobjective function J_(v,p) is defined as follows:

$J_{v,p} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{s \in S_{m,k}}{{{{p_{u,m,k}(s)} - {p_{u,m,{k - 1}}(s)}}}.}}}}}$

In order to simultaneously consider these three objective functions,real-valued parameters w_(h) and w_(v,p) respectively representingweights of J_(h) and J_(v,p) relative to J_(s) are used to formulateJ_(s)+w_(h)J_(h)+w_(v,p)J_(v,p) and p_(u,m,k)(s) for each TS k withinthe range of t+1<=k<=t+H at the end of the TS t is optimized accordingto the following nonlinear programming problem to minimizeJ_(s)+w_(h)J_(h)+w_(v,p)J_(v,p):

$\begin{matrix}\min & {J_{s} + {w_{h}J_{h}} + {w_{v,p}J_{v,p}}} \\{s.t.} & {{\zeta_{s,t} = \left\lbrack {g_{s,{t - 1}} - C_{C,s}} \right\rbrack^{+}},{\forall s},} \\\; & {{g_{s,t} = {{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{r \in R_{s,u}}{{\hat{d}}_{u,m,t}{p_{u,m,t}\left( {s,r} \right)}}}}} + \zeta_{s,{t - 1}}}},} \\\; & {{0 \leq {p_{u,m,t}(s)} \leq 1},{\forall u},{\forall m},{\forall s},} \\\; & {{{\sum\limits_{s \in S_{m,t}}{p_{u,m,t}(s)}} = 1},{\forall u},{{\forall m}..}}\end{matrix}\quad$

<Simultaneous Optimization of Delivery Server Selection and PathSelection Using MPC>

A specific example where MPC is applied to simultaneous optimization ofdelivery server selection and delivery path selection in the deliveryroute selection probability optimization design unit 302 is describedbelow.

For convenience, the combination of a delivery path and a delivery cacheserver is referred to as a delivery route. In this example, a deliveryroute used in response to a delivery request for a content item m from auser u is optimally designed. A group of delivery routes between theuser u and the content item m in a TS t is expressed as Φ_(u,m,t), and adelivery route with a delivery source s (sεS_(m,t)) and a path r(rεR_(s,u)) among the group of delivery routes is expressed asφ_(u,m,t)(s,r).

FIG. 7 illustrates an example of delivery routes for a content item mbetween a user A and a user B, when the content item m is stored in acache X and a cache Y. In this example, there is one delivery routeφ_(A,m,t)(X,1) from the cache X to the user A and there are two deliveryroutes φ_(A,m,t)(Y,1) and φ_(A,m,t)(Y,2) from the cache Y to the user A.Similarly, there are three delivery routes from the cache X to the userB and there are two delivery routes from the cache Y to the user B.

In this example, in order to quickly derive an optimal value of theinput value x_(t), a delivery route is also selected probabilisticallyrather than deterministically. Specifically, a delivery routeφ_(u,m,t)(s,r) is selected from delivery routes φ_(u,m,t) with aprobability {tilde over (p)}_(u,m,t)(s,r) in response to a request forthe content item m from the user u in the TS t. Accordingly, {tilde over(p)}_(u,m,t)(s,r) is the input x_(t) of MPC and the problem can beformulated as a nonlinear programming problem which minimizes theobjective function in consideration of constraints ofΣ_(sε)S_(m,t)Σ_(rε)R_(s,u){tilde over (p)}_(u,m,t)(s,r)=1 at the startof each TS. Therefore, a solution of {tilde over (p)}_(u,m,t)(s,r) canbe quickly obtained.

The objective to optimize delivery cache server selection and deliverypath selection in content delivery is to reduce the amount of trafficflowing over the NW and to reduce the count number of excessivedeliveries which are caused by congestion. In order to reduce the amountof traffic, it is necessary to reduce the hop lengths of the deliveryflows. In order to reduce the count number of excessive deliveries, itis necessary to reduce loads of links and cache servers below apredetermined capacity. Path control of the delivery flows has aninfluence on the link loads and the hop lengths of the delivery flows.On the other hand, delivery server selection has an influence on thedelivery server loads in addition to the link loads and the hop lengthsof the delivery flows. For this reason, in order to design a selectionprobability of the combination of a delivery path and a delivery cacheserver, it is necessary to simultaneously reduce the link loads, the hoplengths of the delivery flows, and the delivery server loads over aprediction horizon [t+1, t+H].

When a binary variable, which is equal to one if a candidate route rfrom the node s to the node u includes a link e in the TS t, isexpressed as I_(s,u,t)(r,e) and the count number of excessive deliveriesin the link e in the TS t−1 is expressed as η_(e,t−1,) a total number ofdelivery flows f_(e,t) passing through the link e in the TS t iscalculated as follows:

${f_{e,t} = {{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{s \in S_{m,t}}{\sum\limits_{r \in R_{s,u}}{{I_{s,u,t}\left( {r,e} \right)}{\hat{d}}_{u,m,t}{{\overset{\sim}{p}}_{u,m,t}\left( {s,r} \right)}}}}}} + \eta_{e,{t - 1}}}},$

where η_(e,t−1) is calculated as η_(e,t−1)=[f_(e,t−1)−C_(L,e)]⁺. Then,an objective function J_(e) associated with link congestion is definedas follows:

$J_{e} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{e = 1}^{E}{\eta_{e,k}.}}}$

In order to stabilize the variation of {tilde over (p)}_(u,m,t), anobjective function J_(v,{tilde over (p)}) is defined as follows:

$J_{v,\overset{\sim}{p}} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{s \in S_{m,k}}{\sum\limits_{r \in R_{s,u}}{{{{{\overset{\sim}{p}}_{u,m,k}\left( {s,r} \right)} - {{\overset{\sim}{p}}_{u,m,{k - 1}}\left( {s,r} \right)}}}.}}}}}}$

In addition to the two objective functions J_(s) and J_(h), and theirweights w_(e), w_(v,{tilde over (p)}) relative to J_(s) are used toformulateJ_(s)+w_(e)J_(e)+w_(h)J_(h)+w_(v,{tilde over (p)})J_(v,{tilde over (p)})and {tilde over (p)}_(u,m,k)(s,r) and for each TS k within the range oft+1<=k<=t+H at the end of the TS t is optimized according to thefollowing nonlinear programming problem to minimizeJ_(s)+w_(e)J_(e)+w_(h)J_(h)+w_(v,{tilde over (p)})J_(v,{tilde over (p)}):

$\begin{matrix}\min & {J_{s} + {w_{e}J_{e}} + {w_{h}J_{h}} + {w_{v,\overset{\sim}{p}}J_{v,\overset{\sim}{p}}}} \\{s.t.} & {{\eta_{e,t} = \left\lbrack {f_{e,{t - 1}} - C_{L,e}} \right\rbrack^{+}},{\forall e},} \\\; & {{\zeta_{s,t} = \left\lbrack {g_{s,{t - 1}} - C_{C,s}} \right\rbrack^{+}},{\forall s},} \\\; & {f_{e,t} = {\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{s \in S_{m,t}}\sum\limits_{r \in R_{s,u}}}}}} \\\; & {{{{I_{s,u,t}\left( {r,e} \right)}{\hat{d}}_{u,m,t}{{\overset{\sim}{p}}_{u,m,t}\left( {s,r} \right)}} + \eta_{e,{t - 1}}},} \\\; & {{g_{s,t} = {{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{r \in R_{s,u}}{{\hat{d}}_{u,m,t}{{\overset{\sim}{p}}_{u,m,t}\left( {s,r} \right)}}}}} + \zeta_{s,{t - 1}}}},} \\\; & {{0 \leq {{\overset{\sim}{p}}_{u,m,t}\left( {s,r} \right)} \leq 1},{\forall u},{\forall m},{\forall s},{\forall r},} \\\; & {{{\sum\limits_{s \in S_{m,t}}{\sum\limits_{r \in R_{s,u}}{{\overset{\sim}{p}}_{u,m,t}\left( {s,r} \right)}}} = 1},{\forall u},{{\forall m}..}}\end{matrix}\quad$

<Performance Evaluation>

In the following, three delivery server selection schemes are consideredwhich are a scheme (L: Local) of always selecting only a cache server sin response to a delivery request from a user u, a scheme (C:Cooperative) of selecting a cache server with a minimum hop length tothe user u among all cache servers keeping possession of a copy of arequested content item m, and a scheme (M: MPC) of optimally selecting adelivery server using MPC. In addition, two path determination schemesare considered which are a scheme (S: Shortest) of always selecting apath with the shortest hop and a scheme (M: MPC) of optimizing pathsusing MPC. Thus, 3*2=6 cases as implementation patterns of a contentdelivery NW are compared. When each pattern is expressed according to anaming rule as (delivery server selection scheme)×(path determinationscheme), the conventional CDN pattern corresponds to L×S, for example,and the patterns explained in the embodiment of the present inventioncorrespond to M×S and M×M.

In order to compare performance evaluation results, only the patternusing MPC as a path determination scheme is briefly described. Thepattern using MPC as a path selection scheme corresponds to the casewhere an ISP does not operate a CDN and performs control using MPC. Inthis case, a probability {acute over (p)}_(s,u,t)(r) of selecting a pathr (rεR_(s,u)) as a delivery path in response to a request for deliveryfrom a server s to a user u is to be designed. Since the ISP does notknow a location in which each content item is cached or a deliveryserver selection policy used by the CDN operator, it is difficult toestimate the amount of traffic demand generated between each node pair.However, considering that a cache storing a content item requested by auser is selected in most cases, traffic is not generated in the NW inthe case of a cache hit. Thus, considering that content is deliveredfrom an original server o_(m) to the user u in response to a deliveryrequest for a content item m, {acute over (p)}_(s,u,t)(r) is designedaccording to MPC. When an objective function J_(v,{acute over (p)}) forthe variation of {acute over (p)}_(s,u,t)(r) is defined in a similarmanner to J_(v,p) and J_(v,{tilde over (p)}), the objective function tobe optimized is expressed asw_(e)J_(e)+w_(h)J_(h)+w_(v,{acute over (p)})J_(v,{acute over (p)}).

Two U.S. NW topologies of commercial ISP backbones, CAIS and Verio,which are published on CAIDA are used for the evaluation. FIGS. 8A and8B illustrate these two NW topologies. The numbers of nodes N includedin the respective NWs are 37 and 35, the numbers of links E are 88 and152, and the average numbers of node degrees are 2.38 and 4.11,respectively. Verio is higher in the node degrees than CAIS and includesa hub node with a high node degree. On the other hand, CAIS is lower inthe node degrees and does not include a hub node. In Verio, it ispossible to shorten a hop length between each node pair by going throughthe hub node. Thus, the average distance between nodes in Verio is 2.51,while the average distance between nodes in CAIS is 5.05 and is longerthan Verio.

Additionally, content delivery requests are generated according toaccess log data collected in the commercial VoD service, Powerinfo VoDsystem provided by China Telecom. The log data include total of20,921,657 delivery requests generated during seven months from June,2004 to December, 2004. In the evaluation, the log data for ten daysfrom the 162nd day to the 171st day are used and each delivery requestis generated from a node which is randomly selected with a probabilityin proportion to a population ratio corresponding to the node. Asimulation is started with the state in which no content item is cachedin cache servers, data corresponding to the first three days arewithdrawn from evaluation as a warm-up period, and data corresponding tothe remaining seven days are used for the evaluation.

It is assumed that every node includes a cache server. Considering thatthe number of content items included in the log data for the evaluationis 7,500, a storage capacity of each cache server is determined asB_(s)=7,500/N. Also considering that a maximum view count per day duringthe seven days used for the evaluation of the log data is 5,700, adelivery capacity of each delivery server is determined asC_(C,s)=5,700*2/N and a transmission capacity of each link is determinedas C_(L,e)=5,700*4/N. In addition, an original server o_(m) for eachcontent item is randomly determined at the start of the simulation witha probability in proportional to the population ratio corresponding tothe node, and is fixed during the simulation.

The time length of the TS is defined as T=30 (min). When MPC is used forone or both of the path determination scheme and the delivery serverselection scheme, the prediction horizon is defined as H=2 and eachweight for the objective function is defined as w_(e)=0.5,w_(h)=w_(v,p)=w_(v,{tilde over (p)})=w_(v,{acute over (p)})=0.001. Inaddition, it is assumed that demand is accurately predicted and thus thereal value d_(u,m,t) is used for the predicted value {circumflex over(d)}_(u,m,t) of delivery demand. Then, in response to each deliveryrequest from a node u (user u) for a content item m generated accordingto the access log data, a cache server, a delivery route, and a path arerandomly selected according to p_(u,m,t)(s), {tilde over(p)}_(u,m,t)(s,r), and {acute over (p)}_(u,m,t)(r), respectively. Inthis simulation, candidate paths R_(i,j) are determined as threek-shortest paths (three paths with the shortest hop length) between anode pair i and j.

<Evaluation Result>

The six patterns are compared with respect to the average number ofexcessive delivery requests which are rejected among the generateddelivery requests in each TS and the average hop length of deliveryflows. Tables 1 and 2 summarize the average number of excessive deliveryrequests when the six patterns are used for the respective CAIS andVerio NWs.

TABLE 1 PATH DETERMINATION DELIVERY SERVER SELECTION SCHEME SCHEME Local(L) Cooperate (C) MPC (M) Shortest (S) 1548.1 3.69 7.59 MPC (M) 800.33.69 7.24

TABLE 2 PATH DETERMINATION DELIVERY SERVER SELECTION SCHEME SCHEME Local(L) Cooperate (C) MPC (M) Shortest (S) 1980.5 316.9 12.41 MPC (M) 985.4316.9 11.7

The difference obtained when only the delivery server selection schemeis switched while using the same path determination scheme issignificantly large compared to the difference obtained when only thepath determination scheme is switched while using the same deliveryserver selection scheme, and thus it is understood that the deliveryserver selection scheme is a key factor to determine the average numberof excessive delivery requests.

When the delivery server selection scheme is Local, a candidate cacheserver to be selected in response to each delivery request is limited toa node where the request is generated. Thus, compared to Cooperate andMPC in which a plurality of candidate nodes can be selected, the numberof excessive delivery requests of Local is one or two orders ofmagnitude greater. When the delivery server selection scheme Cooperateis compared with the delivery server selection scheme MPC, according toCooperate, a delivery server with the shortest hop length to therequested user is always selected among cache servers storing thecontent item in consideration of the cache state at the time ofgenerating each delivery request. On the other hand, according to MPC,since a selection probability of a cache server is designed based onlyon content locations at the start of the TS, MPC does not select aserver in consideration of content locations at the time of generatingthe request. For this reason, MPC requires a much longer period of timeneeded to grasp content locations over the whole NW compared toCooperate, and thus it is expected that control workload is low whilethe number of excessive delivery requests will increase.

However, the evaluation result of Cooperate in CAIS is only slightlybetter than that of MPC. In Verio, on the other hand, the evaluationresult of MPC is one order of magnitude smaller than that of Cooperateand significantly better. This is because Verio includes a hub node witha high node degree and the hop length between the hub node and anothernode is short, and according to Cooperate, there is a high probabilitythat a cache server included in the hub node is selected as a deliveryserver and a load is concentrated on the cache server. Thus, when ahub-and-spoke NW with hub nodes is used, many cache servers areprobabilistically selected and the delivery server selection schemeusing MPC in which various servers are selected will be effective.

Table 3 and 4 summarize an average hop length of delivery flows when thesix patterns are used for the respective CAIS and Verio NWs.

TABLE 3 PATH DETERMINATION DELIVERY SERVER SELECTION SCHEME SCHEME Local(L) Cooperate (C) MPC (M) Shortest (S) 3.93 1.99 2.14 MPC (M) 4.10 2.012.14

TABLE 4 PATH DETERMINATION DELIVERY SERVER SELECTION SCHEME SCHEME Local(L) Cooperate (C) MPC (M) Shortest (S) 1.56 1.06 1.11 MPC (M) 1.65 1.082.11

From these tables, it is understood that the difference of the pathdetermination scheme has little effect on the result and the deliveryserver selection scheme is a key factor to determine the average hoplength of delivery flows. In both the NW, while Cooperate, in which acontent item is obtained from the nearest cache server keepingpossession of the content item, results in the shortest average hoplength, the delivery server selection scheme according to MPC has acomparable effect.

<Effects of Embodiment of the Present Invention>

According to the embodiment of the present invention, it is possible toreduce a frequency with which a delivery request is rejected because ofexceeding a delivery capacity of a cache server in a CDN where contentis delivered using cache servers distributed among a plurality of nodesin the NW, by optimally designing a probability of selecting a cacheserver to be used for delivery or a probability of selecting a deliveryroute which is a combination of the cache server and a path in responseto each delivery request.

For convenience of explanation, the design apparatus (the deliveryserver selection probability optimization design apparatus or thedelivery route selection probability optimization design apparatus)according to the embodiments of the present invention has been describedwith reference to functional block diagrams, but the design apparatusmay be implemented in hardware, software, or combinations thereof. Forexample, the embodiment of the present invention may be realized by aprogram for causing a computer to implement each function in the designapparatus according to the embodiment of the present invention, aprogram for causing a computer to perform each step in the methodaccording to the embodiment of the present invention, or the like. Inaddition, two or more functional elements may be combined asappropriate.

While the solution is described above to reduce a frequency with which adelivery request from a user is rejected when delivery demand from userschanges over time in a CDN and to improve a CDN service, the presentinvention is not limited to the embodiments, but various modificationsand applications can be made by those skilled in the art within thescope of the claims.

The present international application is based on and claims the benefitof priority of Japanese Patent Application No. 2015-031523 filed on Feb.20, 2015, the entire contents of which are hereby incorporated byreference.

DESCRIPTION OF NOTATIONS

-   -   100 design apparatus    -   101 parameter input unit 101    -   102 selection probability design unit    -   103 selection probability output unit    -   200 delivery server selection probability optimization design        apparatus    -   201 parameter input unit    -   202 cache server selection probability optimization design unit    -   203 cache server selection probability output unit    -   300 delivery route selection probability optimization design        apparatus    -   301 parameter input unit    -   302 delivery route selection probability optimization design        unit    -   303 delivery route selection probability output unit

1. A design apparatus for designing a probability that a delivery serveror a delivery route is selected for content delivery in response to adelivery request from a user, when content is delivered using cacheservers distributed among a plurality of nodes in a network, comprising:a parameter input unit configured to receive, as input parameter values,a parameter related to the network and an estimated amount of demand fordelivery requests generated by users for content; a selectionprobability design unit configured to design, based on the inputparameter values received by the parameter input unit, a selectionprobability that a cache server is selected as the delivery server or aselection probability that a delivery route is selected, using modelpredictive control, so as to reduce an excessive delivery request thatis a delivery request generated by a user for a content item and thenrejected, wherein said delivery route is a combination of the deliveryserver and a delivery path on which the content is delivered by thedelivery server; and a selection probability output unit configured tooutput the selection probability of the cache server or the selectionprobability of the delivery route, designed by the selection probabilitydesign unit.
 2. The design apparatus as claimed in claim 1, wherein theselection probability design unit designs the selection probability ofthe cache server so as to reduce the number of excessive deliveryrequests while reducing an average number of hops of delivery flows andstabilizing a variation of the selection probability.
 3. The designapparatus as claimed in claim 2, wherein the parameter input unitreceives the following parameters: the number of content items M, thenumber of nodes N, a prediction horizon H for the model predictivecontrol, a cache server delivery capacity C_(c,s) of a cache server s,the estimated amount of demand {circumflex over (d)}_(u,m,t) of theamount of delivery demand d_(u,m,t) generated by a user u for a contentitem m in a timeslot t, a group of cache servers S_(m,t) which keeppossession of the content item m in the timeslot t, a group of candidatepaths R_(s,u) from the cache server s to the user u, a hop lengthh_(s,u,k) from the cache server s to the user u in a timeslot k(t+1<=k<=t+H), a weight parameter w_(h) for an objective function J_(h)for reducing the average number of hops of the delivery flows relativeto an objective function J_(s) for reducing the number of excessivedelivery requests, and a weight parameter w_(v,p) for an objectivefunction J_(v,p) for stabilizing the variation of the selectionprobability p_(u,m,k)(s) of the cache server s relative to the objectivefunction J_(s), and the selection probability design unit calculates atotal number of the delivery flows g_(s,t) from the cache server s inthe timeslot t as follows:${g_{s,t} = {{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{r \in R_{s,u}}{{\hat{d}}_{u,m,t}{p_{u,m,t}(s)}}}}} + \zeta_{s,{t - 1}}}},$where ζ_(s,t−1) is the count number of excessive deliveries in the cacheserver s in a timeslot t−1 and ζ_(s,t−1) is calculated asζ_(s,t−1)=[g_(s,t−1)−C_(C,s)]⁺ using an operator [x]⁺ which outputs x ifx>0 and outputs 0 if x<=0, defines the objective function J_(s) asfollows:${J_{e} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{s = 1}^{N}\zeta_{s,k}}}},$also defines the objective function J_(h) as follows:${J_{h} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{s \in S_{m,k}}{h_{s,u,k}{\hat{d}}_{u,m,k}{p_{u,m,k}(s)}}}}}}},$also defines the objective function J_(v,p) as follows:${J_{v,p} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{s \in S_{m,k}}{{{p_{u,m,k}(s)} - {p_{u,m,{k - 1}}(s)}}}}}}}},$and optimizes the selection probability p_(u,m,k)(s) for the timeslot k(t+1<=k<=t+H) at an end of the timeslot t according to a nonlinearprogramming problem which minimizes J_(s)+w_(h)J_(h)+w_(v,p)J_(v,p). 4.The design apparatus as claimed in claim 1, wherein the selectionprobability design unit designs the selection probability of thedelivery route so as to reduce the number of excessive delivery requestspassing through links while reducing a total number of delivery flowspassing through a link, reducing an average number of hops of thedelivery flows, and stabilizing a variation of the selectionprobability.
 5. The design apparatus as claimed in claim 4, wherein theparameter input unit receives the following parameters: the number ofcontent items M, the number of nodes N, a prediction horizon H for themodel predictive control, a cache server delivery capacity C_(c,s) of acache server s, a link transfer capacity C_(L,e) of a link e, a group ofdelivery routes Φ_(u,m,t) between a user u and a content item m in atimeslot t, the estimated amount of demand {circumflex over (d)}_(u,m,t)of the amount of delivery demand d_(u,m,t) generated by the user u forthe content item m in the timeslot t, a group of cache servers S_(m,t)which keep possession of the content item m in the timeslot t, a groupof candidate paths R_(s,u) from the cache server s to the user u, abinary variable I_(s,u,t)(r,e) which is equal to one if a candidateroute r from the cache server s to the user u includes the link e in thetimeslot t, a hop length h_(s,u,k) from the cache server s to the user uin a timeslot k (t+1<=k<=t+H), a weight parameter w_(e) for an objectivefunction J_(e) for reducing the total number of delivery flows passingthrough the link e relative to an objective function J_(s) for reducingthe number of excessive delivery requests, a weight parameter w_(h) foran objective function J_(h) for reducing the average number of hops ofthe delivery flows relative to the objective function J_(s) for reducingthe number of excessive delivery requests, and a weight parameterw_(v,{tilde over (p)}) for an objective function J_(v,{tilde over (p)})for stabilizing the variation of the selection probability {tilde over(p)}_(u,m,t)(s,r) of the delivery route φ_(u,m,t)(s,r) from a source sthrough a path r, and the selection probability design unit calculates atotal number of the delivery flows f_(s,t) passing through the link e inthe timeslot t as follows:${f_{e,t} = {{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{s \in S_{m,t}}{\sum\limits_{r \in R_{s,u}}{{I_{s,u,t}\left( {r,e} \right)}{\hat{d}}_{u,m,t}{{\overset{\sim}{p}}_{u,m,t}\left( {s,r} \right)}}}}}} + \eta_{e,{t - 1}}}},$where η_(e,t−1) is the count number of excessive deliveries on the linke in a timeslot t−1 and η_(e,t−1) is calculated asη_(e,t−1)=[f_(e,t−1)−C_(L,e)]⁺ using an operator [x]⁺ which outputs x ifx>0 and outputs 0 if x<=0, defines the objective function Je as follows:${J_{e} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{e = 1}^{E}\eta_{e,k}}}},$calculates a total number of the delivery flows g_(s,t) from the cacheserver s in the timeslot t as follows:${g_{s,t} = {{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{r \in R_{s,u}}{{\hat{d}}_{u,m,t}{p_{u,m,t}(s)}}}}} + \zeta_{s,{t - 1}}}},$where ζ_(s,t-1) is the count number of excessive deliveries in the cacheserver s in the timeslot t−1 and ζ_(s,t-1) is calculated asζ_(s,t−1)=[g_(s,t−1)−C_(C,s)]⁺ using the operator [x]⁺ which outputs xif x>0 and outputs 0 if x<=0, defines the objective function J_(s) asfollows:${J_{s} = {\sum\limits_{k = {k + 1}}^{t + H}{\sum\limits_{s = 1}^{N}\zeta_{s,k}}}},$also defines the objective function J_(h) as follows:${J_{h} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{s \in S_{m,k}}{h_{s,u,k}{\hat{d}}_{u,m,k}{p_{u,m,k}(s)}}}}}}},$also defines the objective function J_(v,{tilde over (p)}) as follows:${J_{v,\overset{\sim}{p}} = {\sum\limits_{k = {t + 1}}^{t + H}{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{N}{\sum\limits_{s \in S_{m,k}}{\sum\limits_{r \in R_{s,u}}{{{{\overset{\sim}{p}}_{u,m,k}\left( {s,r} \right)} - {{\overset{\sim}{p}}_{u,m,{k - 1}}\left( {s,r} \right)}}}}}}}}},$and optimizes the selection probability {tilde over (p)}_(u,m,k)(s,r)for the timeslot k (t+1<=k<=t+H) at an end of the timeslot t accordingto a nonlinear programming problem which minimizesJ_(s)+w_(e)J_(e)+w_(h)J_(h)+w_(v,{tilde over (p)})J_(v,{tilde over (p)}).6. A design method in a design apparatus for designing a probabilitythat a delivery server or a delivery route is selected for contentdelivery in response to a delivery request from a user, when content isdelivered using cache servers distributed among a plurality of nodes ina network, comprising the steps of: receiving, as input parametervalues, a parameter related to the network and an estimated amount ofdemand for delivery requests generated by users for content; designing,based on the received input parameter values, a selection probabilitythat a cache server is selected as the delivery server or a selectionprobability that a delivery route is selected, using model predictivecontrol, so as to reduce an excessive delivery request that is adelivery request generated by a user for a content item and thenrejected, wherein said delivery route is a combination of the deliveryserver and a delivery path on which the content is delivered by thedelivery server; and outputting the designed selection probability ofthe cache server or the designed selection probability of the deliveryroute.
 7. A recording medium for recording a program which, fordesigning a probability that a delivery server or a delivery route isselected for content delivery in response to a delivery request from auser, when content is delivered using cache servers distributed among aplurality of nodes in a network, causes a computer to function as: aparameter input unit configured to receive, as input parameter values, aparameter related to the network and an estimated amount of demand fordelivery requests generated by users for content; a selectionprobability design unit configured to design, based on the inputparameter values received by the parameter input unit, a selectionprobability that a cache server is selected as the delivery server or aselection probability that a delivery route is selected, using modelpredictive control, so as to reduce an excessive delivery request thatis a delivery request generated by a user for a content item and thenrejected, wherein said delivery route is a combination of the deliveryserver and a delivery path on which the content is delivered by thedelivery server; and a selection probability output unit configured tooutput the selection probability of the cache server or the selectionprobability of the delivery route, designed by the selection probabilitydesign unit.